package com.wgy.designmode.action.state;

import com.wgy.designmode.action.state.context.Computer;

/**
 * 状态模式
 * 目前没见到一个合适的场景
 * 电脑有开机和关机两种状态，开机状态下可以播放、关机，关机状态下可以开机，状态是程序内部自动改变，改变后会影响其行为
 */
public class StatePatternDemo {

    public static void main(String[] args) {
        Computer computer = new Computer();
        computer.powerOff();
        System.out.println("电脑当前状态" + computer.getState());

        computer.play();
        System.out.println("电脑当前状态" + computer.getState());


        computer.powerOn();
        System.out.println("电脑当前状态" + computer.getState());


        computer.play();
        System.out.println("电脑当前状态" + computer.getState());


        computer.powerOff();
        System.out.println("电脑当前状态" + computer.getState());

    }
}
